package LeetCode热题HOT100;

import java.util.*;

public class p49字母异位词分组 {
    public List<List<String>> groupAnagrams(String[] strs) {
        //对每个字符串进行排序，是异位词的排序后的数组结果相同，吧他们存到一个列表中

        List<List<String>> res=new ArrayList<>();
        if (strs.length==0) {
            return res;
        }

        Map<String,List<String>> map=new HashMap<>();

        for (String str:strs) {
            char[] array = str.toCharArray();
            Arrays.sort(array);

            String key=new String(array);
            List<String> list=map.getOrDefault(key,new ArrayList());

            list.add(str);
            map.put(key,list);//map中添加元素，如果key已经存在，则更新value
        }

        return new ArrayList<List<String>>(map.values());
    }
}
